package org.dromara.hm.domain.bo;

import org.dromara.hm.domain.HmTodoTransferHistory;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;

/**
 * 待办事项归属转移历史业务对象 hm_todo_transfer_history
 *
 * @author Hzy
 * @date 2025-06-13
 */
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = HmTodoTransferHistory.class, reverseConvertGenerate = false)
public class HmTodoTransferHistoryBo extends BaseEntity {

    /**
     * 待办转移记录ID
     */
    @NotNull(message = "待办转移记录ID不能为空", groups = { EditGroup.class })
    private Long todoTransferHistoryId;

    /**
     * 关联的客户转移记录ID
     */
    private Long customerTransferHistoryId;

    /**
     * 待办事项ID
     */
    @NotNull(message = "待办事项ID不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long todoId;

    /**
     * 关联的客户ID
     */
    @NotNull(message = "关联的客户ID不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long customerId;

    /**
     * 原待办人ID
     */
    private Long oldTodoPersonId;

    /**
     * 原待办人姓名
     */
    private String oldTodoPersonName;

    /**
     * 新待办人ID
     */
    private Long newTodoPersonId;

    /**
     * 新待办人姓名
     */
    private String newTodoPersonName;

    /**
     * 操作人ID
     */
    private Long operatorId;

    /**
     * 操作人姓名
     */
    private String operatorName;

    /**
     * 状态（0正常 1已撤销）
     */
    private String status;


}
